<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.4"/>
<title>cbp2make: CMakefile Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">cbp2make
   </div>
   <div id="projectbrief">Makefile generation tool for Code::Blocks IDE</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.4 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="../../pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="../../namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
      <li><a href="../../files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="../../search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="../../db/db6/classCMakefile-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">CMakefile Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Makefile definition.  
 <a href="../../d0/d98/classCMakefile.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="../../d1/d9e/makefile_8h_source.html">makefile.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a85fac8d19f17693fb9496370f77f2e75"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d98/classCMakefile.html#a85fac8d19f17693fb9496370f77f2e75">Clear</a> (void)</td></tr>
<tr class="memdesc:a85fac8d19f17693fb9496370f77f2e75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the makefile to the initial state.  <a href="#a85fac8d19f17693fb9496370f77f2e75">More...</a><br/></td></tr>
<tr class="separator:a85fac8d19f17693fb9496370f77f2e75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad57cbe3e10deb62aa2d0ce72c9cdc2e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d98/classCMakefile.html#ad57cbe3e10deb62aa2d0ce72c9cdc2e6">Show</a> (void)</td></tr>
<tr class="memdesc:ad57cbe3e10deb62aa2d0ce72c9cdc2e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints contents of the makefile to the standard output.  <a href="#ad57cbe3e10deb62aa2d0ce72c9cdc2e6">More...</a><br/></td></tr>
<tr class="separator:ad57cbe3e10deb62aa2d0ce72c9cdc2e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a197e30d4be127ed7c48514dc81ac8a2f"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d98/classCMakefile.html#a197e30d4be127ed7c48514dc81ac8a2f">SectionCount</a> (void) const </td></tr>
<tr class="memdesc:a197e30d4be127ed7c48514dc81ac8a2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Counts makefile sections.  <a href="#a197e30d4be127ed7c48514dc81ac8a2f">More...</a><br/></td></tr>
<tr class="separator:a197e30d4be127ed7c48514dc81ac8a2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5c9b7b335a3fec333f45acab20fe8a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d8/d7c/classCMakefileSection.html">CMakefileSection</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d98/classCMakefile.html#aa5c9b7b335a3fec333f45acab20fe8a8">GetSection</a> (const size_t Section)</td></tr>
<tr class="memdesc:aa5c9b7b335a3fec333f45acab20fe8a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a makefile section by a number.  <a href="#aa5c9b7b335a3fec333f45acab20fe8a8">More...</a><br/></td></tr>
<tr class="separator:aa5c9b7b335a3fec333f45acab20fe8a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b850cb1fd1d655282b6be5652fd1090"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d98/classCMakefile.html#a1b850cb1fd1d655282b6be5652fd1090">Header</a> (const size_t Section=0)</td></tr>
<tr class="memdesc:a1b850cb1fd1d655282b6be5652fd1090"><td class="mdescLeft">&#160;</td><td class="mdescRight">Header of a makefile section number <em>Section</em>.  <a href="#a1b850cb1fd1d655282b6be5652fd1090">More...</a><br/></td></tr>
<tr class="separator:a1b850cb1fd1d655282b6be5652fd1090"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab70e6833a96f4fe07ffefd5a26760e8e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d8/d7c/classCMakefileSection.html">CMakefileSection</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d98/classCMakefile.html#ab70e6833a96f4fe07ffefd5a26760e8e">AddSection</a> (size_t *Section=0)</td></tr>
<tr class="memdesc:ab70e6833a96f4fe07ffefd5a26760e8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new makefile section and adds it to the makefile.  <a href="#ab70e6833a96f4fe07ffefd5a26760e8e">More...</a><br/></td></tr>
<tr class="separator:ab70e6833a96f4fe07ffefd5a26760e8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9d54996fca8732018b5b3a4458c413d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d4/dba/classCMakefileVariable.html">CMakefileVariable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d98/classCMakefile.html#ab9d54996fca8732018b5b3a4458c413d">AddMacro</a> (const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;Name, const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;Value, const size_t Section=0)</td></tr>
<tr class="memdesc:ab9d54996fca8732018b5b3a4458c413d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new macro variable and adds it to a section number <em>Section</em>.  <a href="#ab9d54996fca8732018b5b3a4458c413d">More...</a><br/></td></tr>
<tr class="separator:ab9d54996fca8732018b5b3a4458c413d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08f58986e9d5ec826d2f14c9f514d1dd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d4/dba/classCMakefileVariable.html">CMakefileVariable</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d98/classCMakefile.html#a08f58986e9d5ec826d2f14c9f514d1dd">AddEnvVar</a> (const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;Name, const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;Value, const size_t Section=0)</td></tr>
<tr class="memdesc:a08f58986e9d5ec826d2f14c9f514d1dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new environment variable and adds it to a section number <em>Section</em>.  <a href="#a08f58986e9d5ec826d2f14c9f514d1dd">More...</a><br/></td></tr>
<tr class="separator:a08f58986e9d5ec826d2f14c9f514d1dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac10c900fc4a140c4b5fc40c97251ddce"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d98/classCMakefile.html#ac10c900fc4a140c4b5fc40c97251ddce">RulesCount</a> (const size_t Section=0)</td></tr>
<tr class="memdesc:ac10c900fc4a140c4b5fc40c97251ddce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Counts makefile rules in a section number <em>Section</em>.  <a href="#ac10c900fc4a140c4b5fc40c97251ddce">More...</a><br/></td></tr>
<tr class="separator:ac10c900fc4a140c4b5fc40c97251ddce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28cffd998a6294be6adea7d2f486b5a2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d1/d4b/classCMakefileRule.html">CMakefileRule</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d98/classCMakefile.html#a28cffd998a6294be6adea7d2f486b5a2">GetRule</a> (const size_t Index, const size_t Section=0)</td></tr>
<tr class="memdesc:a28cffd998a6294be6adea7d2f486b5a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns makefile rule by the <em>Index</em> number in a section number <em>Section</em>.  <a href="#a28cffd998a6294be6adea7d2f486b5a2">More...</a><br/></td></tr>
<tr class="separator:a28cffd998a6294be6adea7d2f486b5a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94a25d457e0a5dcf9eb6b06796017e11"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d1/d4b/classCMakefileRule.html">CMakefileRule</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d98/classCMakefile.html#a94a25d457e0a5dcf9eb6b06796017e11">AddRule</a> (const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;TargetName, const size_t Section=0)</td></tr>
<tr class="memdesc:a94a25d457e0a5dcf9eb6b06796017e11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new makefile rule and adds it to a section number <em>Section</em>.  <a href="#a94a25d457e0a5dcf9eb6b06796017e11">More...</a><br/></td></tr>
<tr class="separator:a94a25d457e0a5dcf9eb6b06796017e11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1aad12975d83641d496caaafea4f8af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d98/classCMakefile.html#af1aad12975d83641d496caaafea4f8af">GetText</a> (void)</td></tr>
<tr class="memdesc:af1aad12975d83641d496caaafea4f8af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a plain text representation of the makefile.  <a href="#af1aad12975d83641d496caaafea4f8af">More...</a><br/></td></tr>
<tr class="separator:af1aad12975d83641d496caaafea4f8af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8e5a8c461cec5f6e41e17affe6ef2a3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d98/classCMakefile.html#ad8e5a8c461cec5f6e41e17affe6ef2a3">Update</a> (void)</td></tr>
<tr class="memdesc:ad8e5a8c461cec5f6e41e17affe6ef2a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates plain text representation of the makefile from objects.  <a href="#ad8e5a8c461cec5f6e41e17affe6ef2a3">More...</a><br/></td></tr>
<tr class="separator:ad8e5a8c461cec5f6e41e17affe6ef2a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fa3178a288338e66f8f3be6074351fc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d98/classCMakefile.html#a5fa3178a288338e66f8f3be6074351fc">CMakefile</a> (void)</td></tr>
<tr class="memdesc:a5fa3178a288338e66f8f3be6074351fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates makefile.  <a href="#a5fa3178a288338e66f8f3be6074351fc">More...</a><br/></td></tr>
<tr class="separator:a5fa3178a288338e66f8f3be6074351fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e0412bb037e3b09766cb55314753eb2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d98/classCMakefile.html#a2e0412bb037e3b09766cb55314753eb2">~CMakefile</a> (void)</td></tr>
<tr class="memdesc:a2e0412bb037e3b09766cb55314753eb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroys makefile.  <a href="#a2e0412bb037e3b09766cb55314753eb2">More...</a><br/></td></tr>
<tr class="separator:a2e0412bb037e3b09766cb55314753eb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a79350f26dda9d7a9825718956f34c3b7"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="../../d8/d7c/classCMakefileSection.html">CMakefileSection</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d98/classCMakefile.html#a79350f26dda9d7a9825718956f34c3b7">m_Sections</a></td></tr>
<tr class="memdesc:a79350f26dda9d7a9825718956f34c3b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">A list of makefile sections.  <a href="#a79350f26dda9d7a9825718956f34c3b7">More...</a><br/></td></tr>
<tr class="separator:a79350f26dda9d7a9825718956f34c3b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee12188307be6d4ba12e877b29f7ea3d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/d98/classCMakefile.html#aee12188307be6d4ba12e877b29f7ea3d">m_Text</a></td></tr>
<tr class="memdesc:aee12188307be6d4ba12e877b29f7ea3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Plain text representation of the makefile.  <a href="#aee12188307be6d4ba12e877b29f7ea3d">More...</a><br/></td></tr>
<tr class="separator:aee12188307be6d4ba12e877b29f7ea3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Makefile definition. </p>
<p>Manages structured makefile and generates its text representation. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a5fa3178a288338e66f8f3be6074351fc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CMakefile::CMakefile </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates makefile. </p>

</div>
</div>
<a class="anchor" id="a2e0412bb037e3b09766cb55314753eb2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CMakefile::~CMakefile </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destroys makefile. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a08f58986e9d5ec826d2f14c9f514d1dd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d4/dba/classCMakefileVariable.html">CMakefileVariable</a> &amp; CMakefile::AddEnvVar </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;&#160;</td>
          <td class="paramname"><em>Name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;&#160;</td>
          <td class="paramname"><em>Value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Section</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates a new environment variable and adds it to a section number <em>Section</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Name</td><td>name of an environment variable. </td></tr>
    <tr><td class="paramname">Value</td><td>default value of an environment variable. </td></tr>
    <tr><td class="paramname">Section</td><td>number of a makefile section. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reference to the new variable.</dd></dl>
<p>If an environment variable with name <em>Name</em> already exists, a new variable will not be created. </p>

</div>
</div>
<a class="anchor" id="ab9d54996fca8732018b5b3a4458c413d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d4/dba/classCMakefileVariable.html">CMakefileVariable</a> &amp; CMakefile::AddMacro </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;&#160;</td>
          <td class="paramname"><em>Name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;&#160;</td>
          <td class="paramname"><em>Value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Section</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates a new macro variable and adds it to a section number <em>Section</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Name</td><td>name of a macro variable. </td></tr>
    <tr><td class="paramname">Value</td><td>default value of a macro variable. </td></tr>
    <tr><td class="paramname">Section</td><td>number of a makefile section. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reference to the new variable.</dd></dl>
<p>If a macro variable with name <em>Name</em> already exists, a new variable will not be created. </p>

</div>
</div>
<a class="anchor" id="a94a25d457e0a5dcf9eb6b06796017e11"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d1/d4b/classCMakefileRule.html">CMakefileRule</a> &amp; CMakefile::AddRule </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d7/da9/classCString.html">CString</a> &amp;&#160;</td>
          <td class="paramname"><em>TargetName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Section</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates a new makefile rule and adds it to a section number <em>Section</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">TargetName</td><td>name of makefile target for the rule. </td></tr>
    <tr><td class="paramname">Section</td><td>number of a makefile section. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reference to the new makefile rule.</dd></dl>
<p>If a makefile rule with target name <em>TargetName</em> already exists, a new rule will not be created. </p>

</div>
</div>
<a class="anchor" id="ab70e6833a96f4fe07ffefd5a26760e8e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d8/d7c/classCMakefileSection.html">CMakefileSection</a> &amp; CMakefile::AddSection </td>
          <td>(</td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>Section</em> = <code>0</code>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates a new makefile section and adds it to the makefile. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Section</td><td>desired number for a makefile section. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reference to the new makefile section.</dd></dl>
<p>This function creates all sections through from the last existing section to a desired number <em>Section</em>. </p>

</div>
</div>
<a class="anchor" id="a85fac8d19f17693fb9496370f77f2e75"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CMakefile::Clear </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Resets the makefile to the initial state. </p>

</div>
</div>
<a class="anchor" id="a28cffd998a6294be6adea7d2f486b5a2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d1/d4b/classCMakefileRule.html">CMakefileRule</a> &amp; CMakefile::GetRule </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Section</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns makefile rule by the <em>Index</em> number in a section number <em>Section</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Index</td><td>number of a rule. </td></tr>
    <tr><td class="paramname">Section</td><td>number of a makefile section. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reference to a makefile rule. </dd></dl>

</div>
</div>
<a class="anchor" id="aa5c9b7b335a3fec333f45acab20fe8a8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d8/d7c/classCMakefileSection.html">CMakefileSection</a> &amp; CMakefile::GetSection </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Section</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a makefile section by a number. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Section</td><td>number of a makefile section. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reference to a makefile section. </dd></dl>

</div>
</div>
<a class="anchor" id="af1aad12975d83641d496caaafea4f8af"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a> &amp; CMakefile::GetText </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a plain text representation of the makefile. </p>
<dl class="section return"><dt>Returns</dt><dd>reference to <a class="el" href="../../d0/d98/classCMakefile.html#aee12188307be6d4ba12e877b29f7ea3d" title="Plain text representation of the makefile. ">CMakefile::m_Text</a>.</dd></dl>
<p>Make a call to <a class="el" href="../../d0/d98/classCMakefile.html#ad8e5a8c461cec5f6e41e17affe6ef2a3" title="Creates plain text representation of the makefile from objects. ">CMakefile::Update(void)</a> before using this function to convert object representation of the makefile to plain text. </p>

</div>
</div>
<a class="anchor" id="a1b850cb1fd1d655282b6be5652fd1090"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a> &amp; CMakefile::Header </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Section</em> = <code>0</code>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Header of a makefile section number <em>Section</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Section</td><td>number of a makefile section. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>reference to a list of strings. </dd></dl>

</div>
</div>
<a class="anchor" id="ac10c900fc4a140c4b5fc40c97251ddce"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t CMakefile::RulesCount </td>
          <td>(</td>
          <td class="paramtype">const size_t&#160;</td>
          <td class="paramname"><em>Section</em> = <code>0</code>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Counts makefile rules in a section number <em>Section</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Section</td><td>number of a makefile section. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>section rules count. </dd></dl>

</div>
</div>
<a class="anchor" id="a197e30d4be127ed7c48514dc81ac8a2f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t CMakefile::SectionCount </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname">)</td><td></td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Counts makefile sections. </p>
<dl class="section return"><dt>Returns</dt><dd>number of makefile sections. </dd></dl>

</div>
</div>
<a class="anchor" id="ad57cbe3e10deb62aa2d0ce72c9cdc2e6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CMakefile::Show </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Prints contents of the makefile to the standard output. </p>

</div>
</div>
<a class="anchor" id="ad8e5a8c461cec5f6e41e17affe6ef2a3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dc/daa/classCStringList.html">CStringList</a> &amp; CMakefile::Update </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname">)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates plain text representation of the makefile from objects. </p>
<dl class="section return"><dt>Returns</dt><dd>makefile text (reference to <a class="el" href="../../d0/d98/classCMakefile.html#aee12188307be6d4ba12e877b29f7ea3d" title="Plain text representation of the makefile. ">CMakefile::m_Text</a>). </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a79350f26dda9d7a9825718956f34c3b7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CMakefile::m_Sections</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A list of makefile sections. </p>
<p>A section is similar in structure to an elementary and complete makefile, so a minimal makefile consists of one regular makefile section. In order to maintain a good style of makefile text, leading sections of makefile should contain headers and variable definitions and trailing sections should contain headers and rules while middle one may contain all of section parts. Any part of any section is optional and may be omitted.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="../../d8/d7c/classCMakefileSection.html" title="Makefile section definition. ">CMakefileSection</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="aee12188307be6d4ba12e877b29f7ea3d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CMakefile::m_Text</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Plain text representation of the makefile. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/<a class="el" href="../../d1/d9e/makefile_8h_source.html">makefile.h</a></li>
<li>src/doc/<a class="el" href="../../d6/d3b/makefile_8dox.html">makefile.dox</a></li>
<li>src/<a class="el" href="../../de/d36/makefile_8cpp.html">makefile.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 9 2013 10:56:06 for cbp2make by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.4
</small></address>
</body>
</html>
